#include "gtkactionable.h"
#include "gtkeventcontrollerkey.h"
-typedef struct _GtkFontChooserDialogPrivate GtkFontChooserDialogPrivate;
-typedef struct _GtkFontChooserDialogClass GtkFontChooserDialogClass;
+typedef struct _GtkFontChooserDialogClass GtkFontChooserDialogClass;
struct _GtkFontChooserDialog
{
GtkDialog parent_instance;
-};
-struct _GtkFontChooserDialogClass
-{
- GtkDialogClass parent_class;
-};
-
-struct _GtkFontChooserDialogPrivate
-{
GtkWidget *fontchooser;
GtkWidget *select_button;
GtkWidget *tweak_button;
};
+struct _GtkFontChooserDialogClass
+{
+ GtkDialogClass parent_class;
+};
+
/**
* SECTION:gtkfontchooserdialog
* @Short_description: A dialog for selecting fonts
const gchar *childname);
G_DEFINE_TYPE_WITH_CODE (GtkFontChooserDialog, gtk_font_chooser_dialog, GTK_TYPE_DIALOG,
- G_ADD_PRIVATE (GtkFontChooserDialog)
G_IMPLEMENT_INTERFACE (GTK_TYPE_FONT_CHOOSER,
_gtk_font_chooser_delegate_iface_init)
G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
GParamSpec *pspec)
{
GtkFontChooserDialog *dialog = GTK_FONT_CHOOSER_DIALOG (object);
- GtkFontChooserDialogPrivate *priv = gtk_font_chooser_dialog_get_instance_private (dialog);
switch (prop_id)
{
default:
- g_object_set_property (G_OBJECT (priv->fontchooser), pspec->name, value);
+ g_object_set_property (G_OBJECT (dialog->fontchooser), pspec->name, value);
break;
}
}
GParamSpec *pspec)
{
GtkFontChooserDialog *dialog = GTK_FONT_CHOOSER_DIALOG (object);
- GtkFontChooserDialogPrivate *priv = gtk_font_chooser_dialog_get_instance_private (dialog);
switch (prop_id)
{
default:
- g_object_get_property (G_OBJECT (priv->fontchooser), pspec->name, value);
+ g_object_get_property (G_OBJECT (dialog->fontchooser), pspec->name, value);
break;
}
}
GtkWidget *widget)
{
GtkFontChooserDialog *dialog = GTK_FONT_CHOOSER_DIALOG (widget);
- GtkFontChooserDialogPrivate *priv = gtk_font_chooser_dialog_get_instance_private (dialog);
- return gtk_event_controller_key_forward (controller, priv->fontchooser);
+ return gtk_event_controller_key_forward (controller, dialog->fontchooser);
}
static void
update_tweak_button (GtkFontChooserDialog *dialog)
{
- GtkFontChooserDialogPrivate *priv = gtk_font_chooser_dialog_get_instance_private (dialog);
GtkFontChooserLevel level;
- if (!priv->tweak_button)
+ if (!dialog->tweak_button)
return;
- g_object_get (priv->fontchooser, "level", &level, NULL);
+ g_object_get (dialog->fontchooser, "level", &level, NULL);
if ((level & (GTK_FONT_CHOOSER_LEVEL_FEATURES | GTK_FONT_CHOOSER_LEVEL_VARIATIONS)) != 0)
- gtk_widget_show (priv->tweak_button);
+ gtk_widget_show (dialog->tweak_button);
else
- gtk_widget_hide (priv->tweak_button);
+ gtk_widget_hide (dialog->tweak_button);
}
static void
setup_tweak_button (GtkFontChooserDialog *dialog)
{
- GtkFontChooserDialogPrivate *priv = gtk_font_chooser_dialog_get_instance_private (dialog);
gboolean use_header;
- if (priv->tweak_button)
+ if (dialog->tweak_button)
return;
g_object_get (dialog, "use-header-bar", &use_header, NULL);
GActionGroup *actions;
actions = G_ACTION_GROUP (g_simple_action_group_new ());
- g_action_map_add_action (G_ACTION_MAP (actions), gtk_font_chooser_widget_get_tweak_action (priv->fontchooser));
+ g_action_map_add_action (G_ACTION_MAP (actions), gtk_font_chooser_widget_get_tweak_action (dialog->fontchooser));
gtk_widget_insert_action_group (GTK_WIDGET (dialog), "font", actions);
g_object_unref (actions);
header = gtk_dialog_get_header_bar (GTK_DIALOG (dialog));
gtk_header_bar_pack_end (GTK_HEADER_BAR (header), button);
- priv->tweak_button = button;
+ dialog->tweak_button = button;
}
}
gtk_widget_class_set_template_from_resource (widget_class,
"/org/gtk/libgtk/ui/gtkfontchooserdialog.ui");
- gtk_widget_class_bind_template_child_private (widget_class, GtkFontChooserDialog, fontchooser);
- gtk_widget_class_bind_template_child_private (widget_class, GtkFontChooserDialog, select_button);
- gtk_widget_class_bind_template_child_private (widget_class, GtkFontChooserDialog, cancel_button);
+ gtk_widget_class_bind_template_child (widget_class, GtkFontChooserDialog, fontchooser);
+ gtk_widget_class_bind_template_child (widget_class, GtkFontChooserDialog, select_button);
+ gtk_widget_class_bind_template_child (widget_class, GtkFontChooserDialog, cancel_button);
gtk_widget_class_bind_template_callback (widget_class, font_activated_cb);
gtk_widget_class_bind_template_callback (widget_class, dialog_forward_key);
}
static void
update_button (GtkFontChooserDialog *dialog)
{
- GtkFontChooserDialogPrivate *priv = gtk_font_chooser_dialog_get_instance_private (dialog);
PangoFontDescription *desc;
- desc = gtk_font_chooser_get_font_desc (GTK_FONT_CHOOSER (priv->fontchooser));
+ desc = gtk_font_chooser_get_font_desc (GTK_FONT_CHOOSER (dialog->fontchooser));
- gtk_widget_set_sensitive (priv->select_button, desc != NULL);
+ gtk_widget_set_sensitive (dialog->select_button, desc != NULL);
if (desc)
pango_font_description_free (desc);
static void
-gtk_font_chooser_dialog_init (GtkFontChooserDialog *fontchooserdiag)
+gtk_font_chooser_dialog_init (GtkFontChooserDialog *dialog)
{
- GtkFontChooserDialogPrivate *priv = gtk_font_chooser_dialog_get_instance_private (fontchooserdiag);
-
- gtk_widget_init_template (GTK_WIDGET (fontchooserdiag));
- gtk_dialog_set_use_header_bar_from_setting (GTK_DIALOG (fontchooserdiag));
+ gtk_widget_init_template (GTK_WIDGET (dialog));
+ gtk_dialog_set_use_header_bar_from_setting (GTK_DIALOG (dialog));
- _gtk_font_chooser_set_delegate (GTK_FONT_CHOOSER (fontchooserdiag),
- GTK_FONT_CHOOSER (priv->fontchooser));
+ _gtk_font_chooser_set_delegate (GTK_FONT_CHOOSER (dialog),
+ GTK_FONT_CHOOSER (dialog->fontchooser));
- g_signal_connect_swapped (priv->fontchooser, "notify::font-desc",
- G_CALLBACK (update_button), fontchooserdiag);
- update_button (fontchooserdiag);
- g_signal_connect_swapped (priv->fontchooser, "notify::level",
- G_CALLBACK (update_tweak_button), fontchooserdiag);
+ g_signal_connect_swapped (dialog->fontchooser, "notify::font-desc",
+ G_CALLBACK (update_button), dialog);
+ update_button (dialog);
+ g_signal_connect_swapped (dialog->fontchooser, "notify::level",
+ G_CALLBACK (update_tweak_button), dialog);
}
/**
const gchar *childname)
{
GtkFontChooserDialog *dialog = GTK_FONT_CHOOSER_DIALOG (buildable);
- GtkFontChooserDialogPrivate *priv = gtk_font_chooser_dialog_get_instance_private (dialog);
if (g_strcmp0 (childname, "select_button") == 0)
- return G_OBJECT (priv->select_button);
+ return G_OBJECT (dialog->select_button);
else if (g_strcmp0 (childname, "cancel_button") == 0)
- return G_OBJECT (priv->cancel_button);
+ return G_OBJECT (dialog->cancel_button);
return parent_buildable_iface->get_internal_child (buildable, builder, childname);
}